package cn.jetpiece.cloud.dict.api.model.result;

import cn.jetpiece.cloud.model.annotation.Dict;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

/**
 * @author hancp
 * @version 1.0
 * @description: 分类字典
 * @date 2021/12/6 11:20
 */
@Data
@ApiModel
public class CategoryResult implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ApiModelProperty("id")
    private String id;

    /**
     * 父级节点
     */
    @ApiModelProperty("父级节点")
    private String pid;

    /**
     * 类型名称
     */
    @ApiModelProperty("类型名称")

    private String name;

    /**
     * 类型编码
     */

    @ApiModelProperty("类型编码")
    private String code;

    /**
     * 类型编码
     */
    @ApiModelProperty("第三方编码")
    private String thirdPartCode;

    /**
     * 创建人
     */
    @ApiModelProperty("创建人")
    private String createBy;

    /**
     * 创建日期
     */
    @ApiModelProperty("创建日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private java.util.Date createTime;

    /**
     * 更新人
     */
    @ApiModelProperty("更新人")
    private String updateBy;

    /**
     * 更新日期
     */
    @ApiModelProperty("更新日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private java.util.Date updateTime;

    /**
     * 所属部门
     */
    @ApiModelProperty("所属部门")
    private String sysOrgCode;

    /**
     * 是否有子节点
     */
    @ApiModelProperty("是否有子节点(1:有)")
    private String hasChild;

    /**
     * 分类级别
     */
    @ApiModelProperty("分类级别")
    @Dict(serverCode = "uc-auth", dictCode = "SYSTEM_LEVEL")
    private Integer categoryLevel;

    /**
     * 启用/禁用
     */
    @ApiModelProperty("启用/禁用")
    private Integer enableFlag;

    /**
     * 是否删除{1:删除,0未删除}
     */
    @ApiModelProperty("是否删除{1:删除,0未删除}")
    private Integer delFlag;

    /**
     * 租户ID/项目ID
     */
    @ApiModelProperty("租户ID/项目ID")
    private String tenantId;

    /**
     * 排序
     */
    @ApiModelProperty("排序")
    private Integer sort;

    /**
     * 规则ID
     */
    @ApiModelProperty("规则ID")
    private String fillRuleId;

    /**
     * 规则名称
     */
    @ApiModelProperty("规则名称")
    private String fillRuleName;

    /**
     * 规则名称
     */
    @ApiModelProperty("配置规则ID")
    private String categoryRuleId;

}
